package com.itheima.suanfa;

public class BinarySearchDemo {
    public static void main(String[] args) {
        int[] arr={11,22,33,44,55,66,77,88,99};
        System.out.println(binarySearch(arr, 11));
        System.out.println(binarySearch(arr, 55));
        System.out.println(binarySearch(arr, 99));
        System.out.println(binarySearch(arr, 100));


    }

    //定义方法  完成 二分查找
    //参数 要查的数 数组
    //返回值 索引
    public static int binarySearch(int[] arr, int number) {
        //两个索引
        int start = 0;
        int end = arr.length - 1;

        while (start <= end) {
            //两个数 (要查找的数   中间索引上的数)
            int mid = (start + end) / 2;
            int shu = arr[mid];
            //要查找的数 大    在右边 (左边索引=中间索引+1)
            if (number > shu) {
                start = mid + 1;
            } else if (number < shu) {  //要查找的数 小    在左边(右边索引=中间索引-1)
                end = mid - 1;
            } else { //要查找的数 相等  找到了(中间索引)
                return mid;
            }

        }
        return -1;
    }
}
